//
//  ZRStatusViewModel.swift
//  XJ8XWB
//
//  Created by 中二 on 2016/10/30.
//  Copyright © 2016年 中二. All rights reserved.
//

import UIKit

class ZRStatusViewModel: NSObject {

    
    // viewModel 管理ZRStatusModel 对其数据进行处理
    var statusModel: ZRStatusModel?{
        didSet{
            // 会员等级赋值
            mbrankImage = dealMbrankImage(mbrank: statusModel?.user?.mbrank ?? 0)
            // 微博认证赋值
            verifiedImage = dealVerifiedImage(verified: statusModel?.user?.verified ?? -1)
            // 转发微博拼接
            retweetContentText = "@\(statusModel?.retweeted_status?.user?.name ?? ""):\(statusModel?.retweeted_status?.text ?? "")"
            // 转发个数
            repostsCountStr = dealCount(count: statusModel?.reposts_count ?? 0, title: "转发")
            // 评论个数
            commentsCountStr = dealCount(count: statusModel?.comments_count ?? 0, title: "评论")
            // 赞个数
            attitudesStr = dealCount(count: statusModel?.attitudes_count ?? 0, title: "赞")
            
        }
    }
    
    // 会员等级 image
    var mbrankImage: UIImage?
    // 微博认证
    var verifiedImage: UIImage?
    // 转发微博显示的内容
    var retweetContentText: String?
    // 转发个数
    var repostsCountStr: String?
    // 评论个数
    var commentsCountStr: String?
    // 赞个数
    var attitudesStr: String?
    
    
}
// 处理 转发 评论 赞 (业务逻辑)
extension ZRStatusViewModel {
    /*
     - 处理 转发 评论 赞 (业务逻辑)
     
     - 如果 count <= 0 显示 转发 评论 赞
     - 如果 count > 0 && count < 10000  是多少显示多少 例如 7890 显示就是 7890
     - 如果 count >= 10000  显示 x.x 万    例如12000  显示 就是1.2万
     - 例如 20000  显示 2万   30000 显示 3万
     */
    // 处理转发 评论 赞 数
    func dealCount(count: Int, title: String) -> String{
        if count <= 0 {
            return title
        }else if count > 0 && count < 10000{
            return "\(count)"
        }else {
            let c = CGFloat(count/1000)/10
            var cStr = "\(c)万"
            
            // 如果cStr 包含.0
            if cStr.contains(".0") {
                // 字符串替换
                cStr = cStr.replacingOccurrences(of: ".0", with: "")
            }
            return cStr
        }
    }
}

extension ZRStatusViewModel {
    // 处理微博认证
    /// 认证类型 -1：没有认证，1，认证用户，2,3,5: 企业认证，220: 达人
    func dealVerifiedImage(verified: Int) -> UIImage?{
        switch verified {
        case 1:
            return UIImage(named: "avatar_vip")
        case 2,3,5:
            return UIImage(named: "avatar_enterprise_vip")
        case 220:
            return UIImage(named: "avatar_grassroot")
        default:
            return UIImage(named: "avatar_vgirl")
        }
    }
    
    // 处理微博用户等级逻辑(1-6等级)
    func dealMbrankImage(mbrank: Int) -> UIImage?{
        if mbrank > 0 && mbrank < 7 {
            return UIImage(named: "common_icon_membership_level\(mbrank)")
        }else {
            return UIImage(named: "common_icon_membership")
        }
    }
}
